package pac;

import process.Actor;
import queues.QueueForTransactions;
import rnd.RandomGenerators;

public class Generator extends Actor {

	private RandomGenerators rnd;
	private double finishtime;
	private QueueForTransactions queue;
	@SuppressWarnings("unused")
	private QueueForTransactions policeQueue;
	public Generator(Model m,Main g) {
		rnd = g.getChooseRandomGeneratorCalls().random;
		finishtime = g.getChooseDataTimeModel().getDouble();
		queue = m.getQueueOfCalls();
		policeQueue=m.getQueueOfPoliceCalls();
		
		
		
	}
	public double getFinishtime() {
		return finishtime;
	}
	public void setFinishtime(double finishtime) {
		this.finishtime = finishtime;
	}
	
	@Override
	protected void rule() {
		// TODO Auto-generated method stub
		while(true){
			holdForTime(rnd.next());
			if (getDispatcher().getCurrentTime() >= finishtime) {
				return;
			}
			queue.addLast(getDispatcher().getCurrentTime());
		} 
		
		
	}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	

}
